Preemption Sealing for Efficient Concurrency Testing

نویسندگان

  • Thomas Ball
  • Sebastian Burckhardt
  • Katherine E. Coons
  • Madan Musuvathi
  • Shaz Qadeer
چکیده

The choice of where a thread scheduling algorithm preempts one thread in order to execute another is essential to reveal concurrency errors such as atomicity violations, livelocks, and deadlocks. We present a scheduling strategy called preemption sealing that controls where and when a scheduler is disabled from preempting threads during program execution. We demonstrate that this strategy is effective in addressing two key problems in testing industrial-scale concurrent programs: (1) tolerating existing errors in order to find more errors, and (2) compositional testing of layered, concurrent systems. We evaluate the effectiveness of preemption sealing, implemented in the CHESS tool, for these two scenarios on newly released concurrency libraries for Microsoft’s .NET framework.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Dynamic CPU Scheduling with Imprecise Knowledge of Computation-Time

The majority of the studies conducted in scheduling real-time transactions mostly concentrate on concurrency control protocols, while overlooking the CPU as being the primary resource. Consequently, there are various techniques for scheduling the CPU in conventional time-critical systems; meanwhile, there does not seem to be any technique that is adequately designed for scheduling such a resour...

متن کامل

Proceedings of the Second AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software

We have developed task scheduler logic (TSL) to automate reasoning about scheduling and concurrency in systems software. TSL can detect race conditions and other errors as well as supporting lock inference: the derivation of an appropriate lock implementation for each critical section in a system. Lock inference solves a number of problems in creating flexible, reliable, and efficient systems s...

متن کامل

Lock Inference for Systems Software

We have developed task scheduler logic (TSL) to automate reasoning about scheduling and concurrency in systems software. TSL can detect race conditions and other errors as well as supporting lock inference: the derivation of an appropriate lock implementation for each critical section in a system. Lock inference solves a number of problems in creating flexible, reliable, and efficient systems s...

متن کامل

Compilation and Worst-Case Reaction Time Analysis for Multithreaded Esterel Processing

The recently proposed reactive processing architectures are characterized by instruction set architectures (ISAs) that directly support reactive control flow including concurrency and preemption. These architectures provide efficient execution platforms for reactive synchronous programs; however, they do require novel compiler technologies, notably with respect to the handling of concurrency. A...

متن کامل

Reactivity, Concurrency, Data-flow and Hierarchical Preemption for Behavioural Animation

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010